package com.winhxd.b2c.order.service;

import com.winhxd.b2c.common.domain.PagedList;
import com.winhxd.b2c.common.domain.order.condition.*;
import com.winhxd.b2c.common.domain.order.vo.*;
import com.winhxd.b2c.common.domain.order.model.OrderAfterSale;
import com.winhxd.b2c.common.domain.order.vo.OrderAfterSaleVO;
import com.winhxd.b2c.common.domain.order.vo.OrderDetailVO;

import java.util.List;

/**
 * @author:zhangyanwei
 * @date:2019/1/7 18:38:36
 * @Description:售后订单服务接口
 **/
public interface OrderAfterSaleService {
	/**
	 *@author: zhangyanwei
	 *@date: 2019/1/7 18:41
	 *@Description: 根据订单状态查询审核信息
	 *@param: [condition]
	 *@return: com.winhxd.b2c.common.domain.ResponseResult<java.lang.String>
	 */
	OrderAfterSaleVO getCheckOrderAfterSale(OrderAfterSaleCondition condition);

	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description 返回售后列表分页信息
	 */
	PagedList<OrderAfterSaleDetailVO> findOrderAfterSaleDetailList(OrderAfterSaleListCondition condition);

    /**
     * @author zhanghuan
     * @date  2018年10月26日 下午2:11:57
     * @Description 查询售后审核信息列表
     */
    List<OrderAfterSaleDetailVO> findOrderAfterSaleDetailInfoList(OrderAfterSaleListCondition condition);

    /**
     * @author zhanghuan
     * @date  2018年10月26日 下午2:11:57
     * @Description 查询送货方式和快递公司信息下拉选项
     */
	OrderAfterSaleChangeInfo getOrderAfterSaleChangeInfo();

	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description 查询售后审核明细列表带查询条件-后台
	 */
	List<OrderAfterSaleDetailVO> getOrderAfterSaleDetailListByCondition(OrderAfterSaleListCondition condition);
	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description
	 */
	List<OrderCancelInfoVO> getOrderCancelInfoVOByCondition(OrderAfterSaleCondition condition);

	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description 查询售后商品明细
	 */
	List<OrderDetailVO> getOrderDetailByCondition(OrderAfterSaleCondition condition);

	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description 查询订单售后明细信息
	 */
	List<OrderAfterSaleDetailVO> getOrderAfterSaleDetailByCondition(OrderAfterSaleCondition condition);

	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description 查询订单售后信息
	 */
	OrderAfterSale getOrderAfterSaleByCondition(OrderAfterSaleCondition condition);

	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description 查询售后订单信息
	 */
	OrderInfoVO getOrderInfoByCondition(OrderAfterSaleCondition condition);
	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description 查询售后物流信息
	 */
	List<OrderExpressInfoVO> getOrderExpressInfoByCondition(OrderAfterSaleCondition condition);
	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description 查询售后退款信息
	 */
	List<OrderRefundInfoVO> getOrderRefundInfoByCondition(OrderAfterSaleCondition condition);

	/**
	 *@author: zhangyanwei
	 *@date: 2019/1/7 18:41
	 *@Description: 根据订单状态审核相应订单
	 *@param: [condition]
	 *@return: com.winhxd.b2c.common.domain.ResponseResult<java.lang.String>
	 */
	Integer modifyAfterSaleOrderByStatus(OrderAfterSaleCheckCondition condition);

	/**
	 *@author: zhangyanwei
	 *@date: 2019/1/8 10:47
	 *@Description: 保存退款信息
	 *@param: [condition]
	 *@return: java.lang.Integer
	 */
	Integer saveRefundInfo(OrderAfterSaleRefundCondition condition);

	/**
	 * @author zhanghuan
	 * @date  2018年10月26日 下午2:11:57
	 * @Description 查询买家退货的物流信息
	 */
	OrderExpressInfoVO getOrderExpressInfoForConsumer(OrderAfterSaleCondition condition);
}
